package seguranca.model;
// Generated Oct 23, 2014 7:15:00 PM by Hibernate Tools 4.3.1


import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * TbDocumentoIdentificacao generated by hbm2java
 */
@Entity
@Table(name="tb_documento_identificacao"
    ,catalog="bd_prototipo"
)
public class TbDocumentoIdentificacao  implements java.io.Serializable {


     private Integer idtDocumentoIdentificacao;
     private TbPessoa tbPessoa;
     private TdEstado tdEstado;
     private String tpoDocumentoIdentificacao;
     private int numDocumentoIdentificacao;
     private String nmeOrgaoEmissor;
     private Date dtaExpedicao;
     private Integer numSecao;
     private Integer numZona;
     private Set<TaPessoaPaisNacionalidade> taPessoaPaisNacionalidades = new HashSet<TaPessoaPaisNacionalidade>(0);

    public TbDocumentoIdentificacao() {
    }

	
    public TbDocumentoIdentificacao(TbPessoa tbPessoa, String tpoDocumentoIdentificacao, int numDocumentoIdentificacao) {
        this.tbPessoa = tbPessoa;
        this.tpoDocumentoIdentificacao = tpoDocumentoIdentificacao;
        this.numDocumentoIdentificacao = numDocumentoIdentificacao;
    }
    public TbDocumentoIdentificacao(TbPessoa tbPessoa, TdEstado tdEstado, String tpoDocumentoIdentificacao, int numDocumentoIdentificacao, String nmeOrgaoEmissor, Date dtaExpedicao, Integer numSecao, Integer numZona, Set<TaPessoaPaisNacionalidade> taPessoaPaisNacionalidades) {
       this.tbPessoa = tbPessoa;
       this.tdEstado = tdEstado;
       this.tpoDocumentoIdentificacao = tpoDocumentoIdentificacao;
       this.numDocumentoIdentificacao = numDocumentoIdentificacao;
       this.nmeOrgaoEmissor = nmeOrgaoEmissor;
       this.dtaExpedicao = dtaExpedicao;
       this.numSecao = numSecao;
       this.numZona = numZona;
       this.taPessoaPaisNacionalidades = taPessoaPaisNacionalidades;
    }
   
     @Id @GeneratedValue(strategy=IDENTITY)

    
    @Column(name="idt_documento_identificacao", unique=true, nullable=false)
    public Integer getIdtDocumentoIdentificacao() {
        return this.idtDocumentoIdentificacao;
    }
    
    public void setIdtDocumentoIdentificacao(Integer idtDocumentoIdentificacao) {
        this.idtDocumentoIdentificacao = idtDocumentoIdentificacao;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="cod_pessoa", nullable=false)
    public TbPessoa getTbPessoa() {
        return this.tbPessoa;
    }
    
    public void setTbPessoa(TbPessoa tbPessoa) {
        this.tbPessoa = tbPessoa;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="cod_estado")
    public TdEstado getTdEstado() {
        return this.tdEstado;
    }
    
    public void setTdEstado(TdEstado tdEstado) {
        this.tdEstado = tdEstado;
    }

    
    @Column(name="tpo_documento_identificacao", nullable=false, length=1)
    public String getTpoDocumentoIdentificacao() {
        return this.tpoDocumentoIdentificacao;
    }
    
    public void setTpoDocumentoIdentificacao(String tpoDocumentoIdentificacao) {
        this.tpoDocumentoIdentificacao = tpoDocumentoIdentificacao;
    }

    
    @Column(name="num_documento_identificacao", nullable=false)
    public int getNumDocumentoIdentificacao() {
        return this.numDocumentoIdentificacao;
    }
    
    public void setNumDocumentoIdentificacao(int numDocumentoIdentificacao) {
        this.numDocumentoIdentificacao = numDocumentoIdentificacao;
    }

    
    @Column(name="nme_orgao_emissor", length=80)
    public String getNmeOrgaoEmissor() {
        return this.nmeOrgaoEmissor;
    }
    
    public void setNmeOrgaoEmissor(String nmeOrgaoEmissor) {
        this.nmeOrgaoEmissor = nmeOrgaoEmissor;
    }

    @Temporal(TemporalType.DATE)
    @Column(name="dta_expedicao", length=10)
    public Date getDtaExpedicao() {
        return this.dtaExpedicao;
    }
    
    public void setDtaExpedicao(Date dtaExpedicao) {
        this.dtaExpedicao = dtaExpedicao;
    }

    
    @Column(name="num_secao")
    public Integer getNumSecao() {
        return this.numSecao;
    }
    
    public void setNumSecao(Integer numSecao) {
        this.numSecao = numSecao;
    }

    
    @Column(name="num_zona")
    public Integer getNumZona() {
        return this.numZona;
    }
    
    public void setNumZona(Integer numZona) {
        this.numZona = numZona;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="tbDocumentoIdentificacao")
    public Set<TaPessoaPaisNacionalidade> getTaPessoaPaisNacionalidades() {
        return this.taPessoaPaisNacionalidades;
    }
    
    public void setTaPessoaPaisNacionalidades(Set<TaPessoaPaisNacionalidade> taPessoaPaisNacionalidades) {
        this.taPessoaPaisNacionalidades = taPessoaPaisNacionalidades;
    }




}


